In a system processing multiple tasks, in order to meet a deadline time (corresponding to a time limit), the multiple tasks may be effectively scheduled, so that a processor core (hereinafter, referred to as a running unit) executes the multiple tasks. The deadline time is determined to each of the multiple tasks. For example, Non-patent document 1 discloses an algorithm by which a spare time (hereinafter, referred to as a slack time) calculated from a worst case execution time of each task and a residual running time is determined, and a scheduling is performed based on the slack time, so that utilization efficiency is improved.
In JP-A-2005-157955 (corresponding to US 2005/0132038 A1), a determination method to determine a task allocation to a processor is disclosed. A slack time for switching a task (or a thread) is used in the determination method. By using the slack time, the task allocation to the processor is determined on a simultaneous multithreading (SMT). In addition, in a method of JP-A-2001-236236, an arrival time of a task is determined by the slack time, so that the number of times of a task switching is reduced and efficiency is improved.
However, the inventors of the present application have found the following difficulties.
A technology disclosed in JP-A-2005-157955 obtains the slack time from the processor by an interruption, and therefore, a real-time process performance may be deteriorated due to a deterioration of the utilization efficiency of the processor. In JP-A-2001-236236, a counter value of each of the tasks in a task information table is subtracted and updated. Therefore, the number of counters and a calculation of a slack time are increased proportionally to the number of the tasks. When an actual circuit area is considered, implementation may be difficult. Priority indicators of the tasks are compared with referring to the task information table, and a task having the largest priority indicator value is selected. Thus, a time required for the comparison increases proportionally to the number of the tasks, and therefore, it may be difficult to schedule the tasks in an actual processing time. Similar difficulties may occur in the technology disclosed in Non-patent document 1.
(Non-patent document 1) M. Hwang, et. al., “Least Slack Time Rate First: New Scheduling Algorithm for Multi-Processor Environment”, International Conference on Complex, Intelligent and Software Intensive Systems (CISIS) 2010, pp. 806-811, 15-18 Feb. 2010